﻿#ifndef COWTYPES_H
#define COWTYPES_H

#include <shareddata.h>

#include <vector>

//template<typename T>
//class COWVector {
//	typedef T value_type;

//	COWVector() {

//	}

//	COWVector(std::initializer_list<T> list) {
//		_P->insert(_P->begin(), list.begin(), list.end());
//	}

//    auto begin() {
//		return _P->begin();
//	}

//    auto end() {
//		return _P->end();
//	}

//    auto begin() const{
//		return _P->begin();
//	}

//    auto end() const{
//		return _P->end();
//	}

//    auto at(int i) const {
//		return _P->at(i);
//	}

//    auto at(int i) {
//		return _P->at(i);
//	}

//    auto operator[](int i) {
//		return _P->operator->[](i);
//	}

//    auto operator[](int i) const{
//		return _P->operator->[](i);
//	}



//	SharedDataPointer<std::vector<T>> _P;
//};



#endif // !COWTYPES_H
